#ifndef __SHOWIMAGE_H
#define __SHOWIMAGE_H


#include <stdio.h>
#include <signal.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <strings.h>
#include <syslog.h>
#include <errno.h>
#include <linux/input.h>

#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <stdbool.h>

#include <linux/fb.h>
#include <sys/mman.h>
#include <sys/ioctl.h>

#include <dirent.h>

#include "PolarisTypedef.h"
#include "/home/gec/jpeg/include/jpeglib.h"




class ShowImage{

public:
	bool showPhoto(const char *filename,bool showErrFlag);
	void showAllPhotoInDir(const char *Dirname,int interval);

private:
//声明display函数
	void displayJPG(const char *filename);
	char *readjpg(char const *filename,int size);
	void displayBMP(const char *filename);
};



struct imginfo
{
	int width;
	int height;
	int pixel_size;
};


// bmp图片的结构体信息
struct bitmap_header
{
	int16_t type;
	int32_t size; // 图像文件大小
	int16_t reserved1;
	int16_t reserved2;
	int32_t offbits; // bmp图像数据偏移量
}__attribute__((packed));

struct bitmap_info
{
	int32_t size; // 本结构大小	
	int32_t width;
	int32_t height;
	int16_t planes; // 总为零

	int16_t bit_count; // 色深
	int32_t compression;
	int32_t size_img; // bmp数据大小，必须是4的整数倍
	int32_t X_pel;
	int32_t Y_pel;
	int32_t clrused;
	int32_t clrImportant;
}__attribute__((packed));

#endif

